Various techniques for multi-path routing of packets through communication networks are known in the art. Some known techniques dynamically select routing paths for packets based on the network state, e.g., traffic load and/or congestion. Such techniques are sometimes referred to as Adaptive Routing. AR techniques are described, for example, by Zahavi et al., in “Distributed Adaptive Routing for Big-Data Applications Running on Data Center Networks,” Proceedings of the Eighth ACM/IEEE Symposium on Architectures for Networking and Communication Systems, New-York, New-York, 2012, pages 99-110, which is incorporated herein by reference.
Other Adaptive Routing techniques are described by Kim et al., in “Adaptive Routing in High-Radix Clos Network,” Proceedings of the 2006 ACM/IEEE Conference on Supercomputing (SC2006), Tampa, Fla., November, 2006; by Jiang et al., in “Indirect Adaptive Routing on Large Scale Interconnection Networks,” Proceedings of the 36th Annual International Symposium on Computer Architecture, Austin, Tex., June, 2009, pages 220-231; and by Kim et al., in “Technology-Driven, Highly-Scalable Dragonfly Topology,” Proceedings of the 35th Annual International Symposium on Computer Architecture, June, 2008, pages 77-88, which are incorporated herein by reference.
U.S. Pat. No. 8,576,715, whose disclosure is incorporated herein by reference, describes a method for communication that includes routing a first packet, which belongs to a given packet flow, over a first routing path through a communication network. A second packet, which follows the first packet in the given packet flow, is routed using a time-bounded Adaptive Routing (AR) mode, by evaluating a time gap between the first and second packets, routing the second packet over the first routing path if the time gap does not exceed a predefined threshold, and, if the time gap exceeds the predefined threshold, selecting a second routing path through the communication network that is potentially different from the first routing path, and routing the second packet over the second routing path.
U.S. Pat. No. 9,014,006 and U.S. Patent Application Publication 2015/0195204, whose disclosures are incorporated herein by reference, describe a method including receiving in a network switch of a communication network communication traffic that originates from a source node and arrives over a route through the communication network traversing one or more preceding network switches, for forwarding to a destination node. In response to detecting in the network switch a compromised ability to forward the communication traffic to the destination node, a notification is sent to the preceding network switches. The notification is to be consumed by the preceding network switches and requests the preceding network switches to modify the route so as not to traverse the network switch.
Additional adaptive routing techniques for mitigating congestion are described by Minkenberg et al., in “Adaptive Routing in Data Center Bridges,” Proceedings of the 17th IEEE Symposium on High Performance Interconnects, August, 2009, which is incorporated herein by reference. Adaptive routing schemes for Converged Enhanced Ethernet (CEE) are described by Gusat et al., in “R3C2: Reactive Route & Rate Control for CEE,” Proceedings of the 18th IEEE Symposium on High Performance Interconnects, August, 2010, which is incorporated herein by reference.